//User.java
package com.atyouqidian.mybatisp.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.util.Date;

/**
 * @ProjectName: mybatisp
 * @ClassName: User
 * @Description: 类描述
 * @Author: www.atyouqidian.com
 * @UpdateDate: 2021-08-29 23:26
 * @UpdateRemark: 更新
 * @Version: 1.0
 */

//lombok的作用，可以生成get set方法 构造器等...
@Data
public class User {
    //@TableId(type = IdType.ID_WORKER) //mp自带策略，生成19位值，数字类型使用这种策略，比如long
    //@TableId(type = IdType.ID_WORKER_STR) //mp自带策略，生成19位值，字符串类型使用这种策略
    //@TableId(type = IdType.UUID) //UUID
    // INPUT 限定必须输入
    @TableId(type = IdType.INPUT)
    private Long id;
    private String name;
    private Integer age;
    private String email;

    //添加时自动填充
    @TableField(fill = FieldFill.INSERT)
    @Version  // 配置乐观锁
    private Integer version;

    // 配置逻辑删除
    @TableLogic
    @TableField(fill = FieldFill.INSERT)
    private Integer deleted;

    //添加时自动填充
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    //添加 和 更新是自动填充
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

}
